{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Objective\n",
    "* 20181225: \n",
    "    * Predict stock price in next day using XGBoost\n",
    "    * Given prices and other features for the last N days, we do prediction for day N+1\n",
    "    * Here we split 3 years of data into train(60%), dev(20%) and test(20%)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "import math\n",
    "import matplotlib\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import time\n",
    "\n",
    "from matplotlib import pyplot as plt\n",
    "from pylab import rcParams\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from tqdm import tqdm_notebook\n",
    "from xgboost import XGBRegressor\n",
    "\n",
    "%matplotlib inline\n",
    "\n",
    "#### Input params ##################\n",
    "stk_path = \"./data/VTI.csv\"\n",
    "test_size = 0.2                # proportion of dataset to be used as test set\n",
    "cv_size = 0.2                  # proportion of dataset to be used as cross-validation set\n",
    "N = 7                          # for feature at day t, we use lags from t-1, t-2, ..., t-N as features\n",
    "\n",
    "n_estimators = 100             # for the initial model before tuning. default = 100\n",
    "max_depth = 3                  # for the initial model before tuning. default = 3\n",
    "learning_rate = 0.1            # for the initial model before tuning. default = 0.1\n",
    "min_child_weight = 1           # for the initial model before tuning. default = 1\n",
    "subsample = 1                  # for the initial model before tuning. default = 1\n",
    "colsample_bytree = 1           # for the initial model before tuning. default = 1\n",
    "colsample_bylevel = 1          # for the initial model before tuning. default = 1\n",
    "train_test_split_seed = 111    # 111\n",
    "model_seed = 100\n",
    "\n",
    "fontsize = 14\n",
    "ticklabelsize = 14\n",
    "####################################"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>close</th>\n",
       "      <th>adj_close</th>\n",
       "      <th>volume</th>\n",
       "      <th>month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2015-11-25</td>\n",
       "      <td>107.510002</td>\n",
       "      <td>107.660004</td>\n",
       "      <td>107.250000</td>\n",
       "      <td>107.470001</td>\n",
       "      <td>101.497200</td>\n",
       "      <td>1820300</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2015-11-27</td>\n",
       "      <td>107.589996</td>\n",
       "      <td>107.760002</td>\n",
       "      <td>107.220001</td>\n",
       "      <td>107.629997</td>\n",
       "      <td>101.648300</td>\n",
       "      <td>552400</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2015-11-30</td>\n",
       "      <td>107.779999</td>\n",
       "      <td>107.849998</td>\n",
       "      <td>107.110001</td>\n",
       "      <td>107.169998</td>\n",
       "      <td>101.213867</td>\n",
       "      <td>3618100</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2015-12-01</td>\n",
       "      <td>107.589996</td>\n",
       "      <td>108.209999</td>\n",
       "      <td>107.370003</td>\n",
       "      <td>108.180000</td>\n",
       "      <td>102.167740</td>\n",
       "      <td>2443600</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2015-12-02</td>\n",
       "      <td>108.099998</td>\n",
       "      <td>108.269997</td>\n",
       "      <td>106.879997</td>\n",
       "      <td>107.050003</td>\n",
       "      <td>101.100533</td>\n",
       "      <td>2937200</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        date        open        high         low       close   adj_close  \\\n",
       "0 2015-11-25  107.510002  107.660004  107.250000  107.470001  101.497200   \n",
       "1 2015-11-27  107.589996  107.760002  107.220001  107.629997  101.648300   \n",
       "2 2015-11-30  107.779999  107.849998  107.110001  107.169998  101.213867   \n",
       "3 2015-12-01  107.589996  108.209999  107.370003  108.180000  102.167740   \n",
       "4 2015-12-02  108.099998  108.269997  106.879997  107.050003  101.100533   \n",
       "\n",
       "    volume  month  \n",
       "0  1820300     11  \n",
       "1   552400     11  \n",
       "2  3618100     11  \n",
       "3  2443600     12  \n",
       "4  2937200     12  "
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(stk_path, sep = \",\")\n",
    "\n",
    "# Convert Date column to datetime\n",
    "df.loc[:, 'Date'] = pd.to_datetime(df['Date'],format='%Y-%m-%d')\n",
    "\n",
    "# Change all column headings to be lower case, and remove spacing\n",
    "df.columns = [str(x).lower().replace(' ', '_') for x in df.columns]\n",
    "\n",
    "# Get month of each sample\n",
    "df['month'] = df['date'].dt.month\n",
    "\n",
    "# Sort by datetime\n",
    "df.sort_values(by='date', inplace=True, ascending=True)\n",
    "\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x7f6264c256a0>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Wv+eSZPitnSx9EpYswYuu6xwUULfvvDhDxcWNxcREZF8qNsLAkrdfHMUam1NMpuuublhQ2XHRT3/fDNnnhkT5o4fH9vSnj4RERHJl9wUZx//ePv7DBgQt5UehH/vvcNxj4JsxYrYpuJMREQkn+r2tGZnFPecVcq2bbBoUX8++cm4kjF9bxVnIiIi+aTirEgWPWfLl8PbbzcyadLOC7KrOBMREcknFWdF0uk3Nm+u3Hs+/XTcjh0bi5unNFGriIhIPqk4K9K7d9xu2VK593z6aWhocA45pLCW5i9+Ad26Va4NIiIiUj1UnBXJojh75hkYNmwLPXtCjx6xLcvlo0RERCRbublasyMaG+PUYqV7zg44YDPQxIMPwqOPwt57V+79RUREpLqoOCtiFr1n77xTmffbvDmmzpg8OQa5jRkTXyIiIpJfOq1ZonfvyvWcpVeFDhjwp8q8oYiIiFQ9FWclevWqXHGWvk/Pntsq84YiIiJS9VSclahkz1mhONtemTcUERGRqqfirEQli7N0PrU99lDPmYiIiAQVZyV69arcBQE6rSkiIiKlVJyVyKLnTKc1RUREJKXirEQlijP3WPA8fR+d1hQREZGUirMSlbha85proH9/WLIkfU/1nImIiEhQcVaiuRk2bizvezzyCGzaBLfeGo/VcyYiIiIpFWclBg2C11+P045dbft2uOOOwlizTZviVmPOREREJKXirMTAgVFErVsHF18ca192lfnz4ZJL4nRmush6QwM0Nqo4ExERkaDirMSgQXH7yCNw553whS+0vu/GjfDd78J118Hixe2/9sKFhfvnngt77hlFmtluNVlERETqiBY+LzFwYNwuWhS3e+/d+r733w+XXx73ly+He+5p+7WfeKJwf+hQuOACmDWr820VERGR+qOesxJpcfbII3G7776t75teODByJLz1VvuvXVycDRwI3/rWzr1pIiIiIuo5KzFiBAwYUBhr1tTU+r7plBuDBxcG97dm82ZYurTweORI6NYtvkRERERS6jkr0bcvrF4Njz8ej9taymnLFmhsjLFjb7/d+n633AInnRQXGqSOPLJr2isiIiL1RcVZC3r2hIkT45TmnXfC3Xe3vN+WLTGgv7m57eLsiitg3rydt6UXHoiIiIgUU3HWhrTguuaalp/fvDmKsz59YNkyuOoq2Lq17ddcubJrp+cQERGR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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f6266f0feb8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot adjusted close over time\n",
    "rcParams['figure.figsize'] = 10, 8 # width 10, height 8\n",
    "\n",
    "ax = df.plot(x='date', y='adj_close', style='b-', grid=True)\n",
    "ax.set_xlabel(\"date\")\n",
    "ax.set_ylabel(\"USD\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Feature Engineering"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "We will generate the following features:\n",
    "* Mean 'adj_close' of each month\n",
    "* Difference between high and low of each day\n",
    "* Difference between open and close of each day\n",
    "* Mean volume of each month"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>adj_close</th>\n",
       "      <th>volume</th>\n",
       "      <th>month</th>\n",
       "      <th>range_hl</th>\n",
       "      <th>range_oc</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2015-11-25</td>\n",
       "      <td>101.497200</td>\n",
       "      <td>1820300</td>\n",
       "      <td>11</td>\n",
       "      <td>0.410004</td>\n",
       "      <td>0.040001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2015-11-27</td>\n",
       "      <td>101.648300</td>\n",
       "      <td>552400</td>\n",
       "      <td>11</td>\n",
       "      <td>0.540001</td>\n",
       "      <td>-0.040001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2015-11-30</td>\n",
       "      <td>101.213867</td>\n",
       "      <td>3618100</td>\n",
       "      <td>11</td>\n",
       "      <td>0.739997</td>\n",
       "      <td>0.610001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2015-12-01</td>\n",
       "      <td>102.167740</td>\n",
       "      <td>2443600</td>\n",
       "      <td>12</td>\n",
       "      <td>0.839996</td>\n",
       "      <td>-0.590004</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2015-12-02</td>\n",
       "      <td>101.100533</td>\n",
       "      <td>2937200</td>\n",
       "      <td>12</td>\n",
       "      <td>1.390000</td>\n",
       "      <td>1.049995</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        date   adj_close   volume  month  range_hl  range_oc\n",
       "0 2015-11-25  101.497200  1820300     11  0.410004  0.040001\n",
       "1 2015-11-27  101.648300   552400     11  0.540001 -0.040001\n",
       "2 2015-11-30  101.213867  3618100     11  0.739997  0.610001\n",
       "3 2015-12-01  102.167740  2443600     12  0.839996 -0.590004\n",
       "4 2015-12-02  101.100533  2937200     12  1.390000  1.049995"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Get difference between high and low of each day\n",
    "df['range_hl'] = df['high'] - df['low']\n",
    "df.drop(['high', 'low'], axis=1, inplace=True)\n",
    "\n",
    "# Get difference between open and close of each day\n",
    "df['range_oc'] = df['open'] - df['close']\n",
    "df.drop(['open', 'close'], axis=1, inplace=True)\n",
    "\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we use lags up to N number of days to use as features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        date   adj_close   volume  month  range_hl  range_oc  order_day\n",
      "0 2015-11-25  101.497200  1820300     11  0.410004  0.040001          0\n",
      "1 2015-11-27  101.648300   552400     11  0.540001 -0.040001          1\n",
      "2 2015-11-30  101.213867  3618100     11  0.739997  0.610001          2\n",
      "3 2015-12-01  102.167740  2443600     12  0.839996 -0.590004          3\n",
      "4 2015-12-02  101.100533  2937200     12  1.390000  1.049995          4\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "['adj_close', 'range_hl', 'range_oc', 'volume']"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Add a column 'order_day' to indicate the order of the rows by date\n",
    "df['order_day'] = [x for x in list(range(len(df)))]\n",
    "print(df.head())\n",
    "# merging_keys\n",
    "merging_keys = ['order_day']\n",
    "\n",
    "# List of columns that we will use to create lags\n",
    "lag_cols = ['adj_close', 'range_hl', 'range_oc', 'volume']\n",
    "lag_cols"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4ccf671764524af78dc5050fe48e236c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(IntProgress(value=0, max=7), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>adj_close</th>\n",
       "      <th>volume</th>\n",
       "      <th>month</th>\n",
       "      <th>range_hl</th>\n",
       "      <th>range_oc</th>\n",
       "      <th>order_day</th>\n",
       "      <th>adj_close_lag_1</th>\n",
       "      <th>range_hl_lag_1</th>\n",
       "      <th>range_oc_lag_1</th>\n",
       "      <th>...</th>\n",
       "      <th>range_oc_lag_5</th>\n",
       "      <th>volume_lag_5</th>\n",
       "      <th>adj_close_lag_6</th>\n",
       "      <th>range_hl_lag_6</th>\n",
       "      <th>range_oc_lag_6</th>\n",
       "      <th>volume_lag_6</th>\n",
       "      <th>adj_close_lag_7</th>\n",
       "      <th>range_hl_lag_7</th>\n",
       "      <th>range_oc_lag_7</th>\n",
       "      <th>volume_lag_7</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2015-12-07</td>\n",
       "      <td>100.628342</td>\n",
       "      <td>3000500</td>\n",
       "      <td>12</td>\n",
       "      <td>1.209999</td>\n",
       "      <td>0.680000</td>\n",
       "      <td>7</td>\n",
       "      <td>101.421646</td>\n",
       "      <td>1.919998</td>\n",
       "      <td>-1.580001</td>\n",
       "      <td>...</td>\n",
       "      <td>0.610001</td>\n",
       "      <td>3618100.0</td>\n",
       "      <td>101.648300</td>\n",
       "      <td>0.540001</td>\n",
       "      <td>-0.040001</td>\n",
       "      <td>552400.0</td>\n",
       "      <td>101.497200</td>\n",
       "      <td>0.410004</td>\n",
       "      <td>0.040001</td>\n",
       "      <td>1820300.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2015-12-08</td>\n",
       "      <td>100.023895</td>\n",
       "      <td>3149600</td>\n",
       "      <td>12</td>\n",
       "      <td>1.130005</td>\n",
       "      <td>0.029998</td>\n",
       "      <td>8</td>\n",
       "      <td>100.628342</td>\n",
       "      <td>1.209999</td>\n",
       "      <td>0.680000</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.590004</td>\n",
       "      <td>2443600.0</td>\n",
       "      <td>101.213867</td>\n",
       "      <td>0.739997</td>\n",
       "      <td>0.610001</td>\n",
       "      <td>3618100.0</td>\n",
       "      <td>101.648300</td>\n",
       "      <td>0.540001</td>\n",
       "      <td>-0.040001</td>\n",
       "      <td>552400.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2015-12-09</td>\n",
       "      <td>99.164467</td>\n",
       "      <td>4179800</td>\n",
       "      <td>12</td>\n",
       "      <td>2.269997</td>\n",
       "      <td>0.550003</td>\n",
       "      <td>9</td>\n",
       "      <td>100.023895</td>\n",
       "      <td>1.130005</td>\n",
       "      <td>0.029998</td>\n",
       "      <td>...</td>\n",
       "      <td>1.049995</td>\n",
       "      <td>2937200.0</td>\n",
       "      <td>102.167740</td>\n",
       "      <td>0.839996</td>\n",
       "      <td>-0.590004</td>\n",
       "      <td>2443600.0</td>\n",
       "      <td>101.213867</td>\n",
       "      <td>0.739997</td>\n",
       "      <td>0.610001</td>\n",
       "      <td>3618100.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2015-12-10</td>\n",
       "      <td>99.457237</td>\n",
       "      <td>3684900</td>\n",
       "      <td>12</td>\n",
       "      <td>1.140000</td>\n",
       "      <td>-0.129998</td>\n",
       "      <td>10</td>\n",
       "      <td>99.164467</td>\n",
       "      <td>2.269997</td>\n",
       "      <td>0.550003</td>\n",
       "      <td>...</td>\n",
       "      <td>1.840004</td>\n",
       "      <td>3345600.0</td>\n",
       "      <td>101.100533</td>\n",
       "      <td>1.390000</td>\n",
       "      <td>1.049995</td>\n",
       "      <td>2937200.0</td>\n",
       "      <td>102.167740</td>\n",
       "      <td>0.839996</td>\n",
       "      <td>-0.590004</td>\n",
       "      <td>2443600.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2015-12-11</td>\n",
       "      <td>97.502281</td>\n",
       "      <td>5100700</td>\n",
       "      <td>12</td>\n",
       "      <td>1.360000</td>\n",
       "      <td>0.930000</td>\n",
       "      <td>11</td>\n",
       "      <td>99.457237</td>\n",
       "      <td>1.140000</td>\n",
       "      <td>-0.129998</td>\n",
       "      <td>...</td>\n",
       "      <td>-1.580001</td>\n",
       "      <td>4520000.0</td>\n",
       "      <td>99.589470</td>\n",
       "      <td>2.420005</td>\n",
       "      <td>1.840004</td>\n",
       "      <td>3345600.0</td>\n",
       "      <td>101.100533</td>\n",
       "      <td>1.390000</td>\n",
       "      <td>1.049995</td>\n",
       "      <td>2937200.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 35 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         date   adj_close   volume  month  range_hl  range_oc  order_day  \\\n",
       "7  2015-12-07  100.628342  3000500     12  1.209999  0.680000          7   \n",
       "8  2015-12-08  100.023895  3149600     12  1.130005  0.029998          8   \n",
       "9  2015-12-09   99.164467  4179800     12  2.269997  0.550003          9   \n",
       "10 2015-12-10   99.457237  3684900     12  1.140000 -0.129998         10   \n",
       "11 2015-12-11   97.502281  5100700     12  1.360000  0.930000         11   \n",
       "\n",
       "    adj_close_lag_1  range_hl_lag_1  range_oc_lag_1      ...       \\\n",
       "7        101.421646        1.919998       -1.580001      ...        \n",
       "8        100.628342        1.209999        0.680000      ...        \n",
       "9        100.023895        1.130005        0.029998      ...        \n",
       "10        99.164467        2.269997        0.550003      ...        \n",
       "11        99.457237        1.140000       -0.129998      ...        \n",
       "\n",
       "    range_oc_lag_5  volume_lag_5  adj_close_lag_6  range_hl_lag_6  \\\n",
       "7         0.610001     3618100.0       101.648300        0.540001   \n",
       "8        -0.590004     2443600.0       101.213867        0.739997   \n",
       "9         1.049995     2937200.0       102.167740        0.839996   \n",
       "10        1.840004     3345600.0       101.100533        1.390000   \n",
       "11       -1.580001     4520000.0        99.589470        2.420005   \n",
       "\n",
       "    range_oc_lag_6  volume_lag_6  adj_close_lag_7  range_hl_lag_7  \\\n",
       "7        -0.040001      552400.0       101.497200        0.410004   \n",
       "8         0.610001     3618100.0       101.648300        0.540001   \n",
       "9        -0.590004     2443600.0       101.213867        0.739997   \n",
       "10        1.049995     2937200.0       102.167740        0.839996   \n",
       "11        1.840004     3345600.0       101.100533        1.390000   \n",
       "\n",
       "    range_oc_lag_7  volume_lag_7  \n",
       "7         0.040001     1820300.0  \n",
       "8        -0.040001      552400.0  \n",
       "9         0.610001     3618100.0  \n",
       "10       -0.590004     2443600.0  \n",
       "11        1.049995     2937200.0  \n",
       "\n",
       "[5 rows x 35 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "shift_range = [x+1 for x in range(N)]\n",
    "\n",
    "for shift in tqdm_notebook(shift_range):\n",
    "    train_shift = df[merging_keys + lag_cols].copy()\n",
    "    \n",
    "    # E.g. order_day of 0 becomes 1, for shift = 1.\n",
    "    # So when this is merged with order_day of 1 in df, this will represent lag of 1.\n",
    "    train_shift['order_day'] = train_shift['order_day'] + shift\n",
    "    \n",
    "    foo = lambda x: '{}_lag_{}'.format(x, shift) if x in lag_cols else x\n",
    "    train_shift = train_shift.rename(columns=foo)\n",
    "\n",
    "    df = pd.merge(df, train_shift, on=merging_keys, how='left') #.fillna(0)\n",
    "    \n",
    "del train_shift\n",
    "\n",
    "# Remove the first N rows which contain NaNs\n",
    "df = df[N:]\n",
    "    \n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 748 entries, 7 to 754\n",
      "Data columns (total 35 columns):\n",
      "date               748 non-null datetime64[ns]\n",
      "adj_close          748 non-null float64\n",
      "volume             748 non-null int64\n",
      "month              748 non-null int64\n",
      "range_hl           748 non-null float64\n",
      "range_oc           748 non-null float64\n",
      "order_day          748 non-null int64\n",
      "adj_close_lag_1    748 non-null float64\n",
      "range_hl_lag_1     748 non-null float64\n",
      "range_oc_lag_1     748 non-null float64\n",
      "volume_lag_1       748 non-null float64\n",
      "adj_close_lag_2    748 non-null float64\n",
      "range_hl_lag_2     748 non-null float64\n",
      "range_oc_lag_2     748 non-null float64\n",
      "volume_lag_2       748 non-null float64\n",
      "adj_close_lag_3    748 non-null float64\n",
      "range_hl_lag_3     748 non-null float64\n",
      "range_oc_lag_3     748 non-null float64\n",
      "volume_lag_3       748 non-null float64\n",
      "adj_close_lag_4    748 non-null float64\n",
      "range_hl_lag_4     748 non-null float64\n",
      "range_oc_lag_4     748 non-null float64\n",
      "volume_lag_4       748 non-null float64\n",
      "adj_close_lag_5    748 non-null float64\n",
      "range_hl_lag_5     748 non-null float64\n",
      "range_oc_lag_5     748 non-null float64\n",
      "volume_lag_5       748 non-null float64\n",
      "adj_close_lag_6    748 non-null float64\n",
      "range_hl_lag_6     748 non-null float64\n",
      "range_oc_lag_6     748 non-null float64\n",
      "volume_lag_6       748 non-null float64\n",
      "adj_close_lag_7    748 non-null float64\n",
      "range_hl_lag_7     748 non-null float64\n",
      "range_oc_lag_7     748 non-null float64\n",
      "volume_lag_7       748 non-null float64\n",
      "dtypes: datetime64[ns](1), float64(31), int64(3)\n",
      "memory usage: 210.4 KB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# # Get mean of adj_close of each month\n",
    "# df_gb = df.groupby(['month'], as_index=False).agg({'adj_close':'mean'})\n",
    "# df_gb = df_gb.rename(columns={'adj_close':'adj_close_mean'})\n",
    "# df_gb\n",
    "\n",
    "# # Merge to main df\n",
    "# df = df.merge(df_gb, \n",
    "#               left_on=['month'], \n",
    "#               right_on=['month'],\n",
    "#               how='left').fillna(0)\n",
    "\n",
    "# # Merge to main df\n",
    "# shift_range = [x+1 for x in range(2)]\n",
    "\n",
    "# for shift in tqdm_notebook(shift_range):\n",
    "#     train_shift = df[merging_keys + lag_cols].copy()\n",
    "    \n",
    "#     # E.g. order_day of 0 becomes 1, for shift = 1.\n",
    "#     # So when this is merged with order_day of 1 in df, this will represent lag of 1.\n",
    "#     train_shift['order_day'] = train_shift['order_day'] + shift\n",
    "    \n",
    "#     foo = lambda x: '{}_lag_{}'.format(x, shift) if x in lag_cols else x\n",
    "#     train_shift = train_shift.rename(columns=foo)\n",
    "\n",
    "#     df = pd.merge(df, train_shift, on=merging_keys, how='left') #.fillna(0)\n",
    "    \n",
    "# del train_shift\n",
    "    \n",
    "# df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# # Get mean of volume of each month\n",
    "# df_gb = df.groupby(['month'], as_index=False).agg({'volume':'mean'})\n",
    "# df_gb = df_gb.rename(columns={'volume':'volume_mean'})\n",
    "# df_gb\n",
    "\n",
    "# # Merge to main df\n",
    "# df = df.merge(df_gb, \n",
    "#               left_on=['month'], \n",
    "#               right_on=['month'],\n",
    "#               how='left').fillna(0)\n",
    "\n",
    "# df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Split into train, cv and test set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "X_train.shape = (450, 28)\n",
      "y_train.shape = (450,)\n",
      "X_cv.shape = (149, 28)\n",
      "y_cv.shape = (149,)\n",
      "X_train_cv.shape = (599, 28)\n",
      "y_train_cv.shape = (599,)\n",
      "X_sample.shape = (149, 28)\n",
      "y_sample.shape = (149,)\n"
     ]
    }
   ],
   "source": [
    "features = [\n",
    "\"adj_close_lag_1\",\n",
    "\"range_hl_lag_1\",\n",
    "\"range_oc_lag_1\",\n",
    "\"volume_lag_1\",\n",
    "\"adj_close_lag_2\",\n",
    "\"range_hl_lag_2\",\n",
    "\"range_oc_lag_2\",\n",
    "\"volume_lag_2\",\n",
    "\"adj_close_lag_3\",\n",
    "\"range_hl_lag_3\",\n",
    "\"range_oc_lag_3\",\n",
    "\"volume_lag_3\",\n",
    "\"adj_close_lag_4\",\n",
    "\"range_hl_lag_4\",\n",
    "\"range_oc_lag_4\",\n",
    "\"volume_lag_4\",\n",
    "\"adj_close_lag_5\",\n",
    "\"range_hl_lag_5\",\n",
    "\"range_oc_lag_5\",\n",
    "\"volume_lag_5\",\n",
    "\"adj_close_lag_6\",\n",
    "\"range_hl_lag_6\",\n",
    "\"range_oc_lag_6\",\n",
    "\"volume_lag_6\",\n",
    "\"adj_close_lag_7\",\n",
    "\"range_hl_lag_7\",\n",
    "\"range_oc_lag_7\",\n",
    "\"volume_lag_7\"\n",
    "]\n",
    "\n",
    "target = \"adj_close\"\n",
    "\n",
    "# Get sizes of each of the datasets\n",
    "num_cv = int(cv_size*len(df))\n",
    "num_test = int(test_size*len(df))\n",
    "num_train = len(df) - num_cv - num_test\n",
    "\n",
    "# Split into train, cv, and test\n",
    "train = df[:num_train]\n",
    "cv = df[num_train:num_train+num_cv]\n",
    "train_cv = df[:num_train+num_cv]\n",
    "test = df[num_train+num_cv:]\n",
    "\n",
    "# Split into X and y\n",
    "X_train = train[features]\n",
    "y_train = train[target]\n",
    "X_cv = cv[features]\n",
    "y_cv = cv[target]\n",
    "X_train_cv = train_cv[features]\n",
    "y_train_cv = train_cv[target]\n",
    "X_sample = test[features]\n",
    "y_sample = test[target]\n",
    "print(\"X_train.shape = \" + str(X_train.shape))\n",
    "print(\"y_train.shape = \" + str(y_train.shape))\n",
    "print(\"X_cv.shape = \" + str(X_cv.shape))\n",
    "print(\"y_cv.shape = \" + str(y_cv.shape))\n",
    "print(\"X_train_cv.shape = \" + str(X_train_cv.shape))\n",
    "print(\"y_train_cv.shape = \" + str(y_train_cv.shape))\n",
    "print(\"X_sample.shape = \" + str(X_sample.shape))\n",
    "print(\"y_sample.shape = \" + str(y_sample.shape))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# EDA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'USD')"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nmKnmTERE0krJWQN07uwjGT/5JHMsTs6ya85Gj4a2bat48cVWBU/O4lUNhgzx7bnn+lepUHImIiJp\npeSsAeJ5thYvzhxbuNA71mdPR9G+Pey5ZwUvvtg9vwXM8vLL8MILXhbIJGelRsmZiIiklZKzBohH\nNpaVeU3Z8uXwxhs+r1fNObhGjFjLvfd254UX4NBD815UfvMbuO++zP7gwfkvQ0tQciYiImmlAQEN\nECdnlZU+shG8iTN+nG3kSF9G4LDD8lS4Gtau9aQxFpe91Oy2m09P0pzJbEVEREqRkrMGiBOcY46B\nf//3zPFTT93+2pEjM5OhhVqXbs+tigoYPjz/79vSunTxlQ2+/e1Cl0RERCS/lJw1wIEHwoQJcOed\n0D3qTtazZ+0TtvbuvfnzwQDr1+evjLGKCm8KnDPHVwgoZUcdpZozERFJH/U5a4Ddd4eHoyXaKyp8\nO2ECtK1jpaZx4+D++6G8PH/Nio884glZZaUnZ/vvn5/3FRERkZal5KyRunb1Tvcnn1z3NfGSTmvW\nVO//lSs33gg/+pE/7tFDnehFRERKmZKzJrjiivrPx9NrlJfnviyVlXDVVdCtmw8GKC9XciYiIlLK\n1OcsB/KZnL3wAmzdWn2xcSVnIiIipUvJWQ7EyVn2Qum5Mnu2b8ePzxxTciYiIlK6lJzlQDwIYN26\n3L/X22/DoEE+L1hs0KDcv6+IiIjkhpKzHOjY0bcbNuT+vd5+G0aMyAxCgPoHK4iIiEhxU3KWA3Fy\ntnFjbt+nqgrmz/fkLG5K7d8fWumnKiIiUrL0ZzwH2rf3NTdzXXO2aJG/x4gR0KcP/PSn8NRTuX1P\nERERyS1NpZEDZtChQ+6Ts3fe8e1ee/l7Xnddbt9PREREck81ZznSsWPuk7NPP/Vtnz65fR8RERHJ\nHyVnOZKP5CxeuzPu4yYiIiKlT8lZjuSjWTN+/U6dcvs+IiIikj9KznJENWciIiLSFErOciQfydmG\nDT5tRrt2uX0fERERyR8lZzmSr5qzjh19pKaIiIgkg5KzHMlXzZn6m4mIiCSLkrMcyWVyduWVPvHs\n0qXqbyYiIpI0moQ2R7p0gcrK3Lz2lCmwZIkv3TR8eG7eQ0RERApDNWc50rt3ZpLYlvTQQ9AmSqlD\nUM2ZiIhI0ig5y5FevaCiwmu4Lr64ZRZBf/99OOUUX1Mzpj5nIiIiyaLkLEd69/btuefC5Mnw6KO1\nX7dpE9x9N/z+91BWVv9rvv565vFJJ/lWNWciIiLJoj5nORInZ6++6tvu3Wu/bvp0OOccf/zhh3DT\nTXW/5htvZB4fdhgsWwb9+ze/rCIiIlI8lJzlSJycVVT4duvW2q8rL888Xru2/tfMTs569YIZM6Bt\n26aXUURERIqPkrMcGTzYE6ctW3y/rj5n8RJMvXvveHRndnI2cCB069b8coqIiEhxUZ+zHBk0yAcD\n/PrXvl/XnGfx8V12qTs5e+01mDCh+kCAffZpubKKiIhI8VBylkM77wxnneWPzz67ehNmLE7OeveG\ndetqf53LLoO//736sX79Wq6cIiIiUjyUnOVYhw6Zx9nNkrH1633h8u7d4ZVX4Pbbt79m990zj597\nDp5/XutpioiIJJWSsxzLnuqiTS09/DZs8Gu6dPF+aRde6JPLZov7ll1yCRx6qH+JiIhIMik5y7Hs\n5GzbNt9u3ZoZCBAnZ9mJ26ZN1V9j7VqvPfvDH1RjJiIiknRKznIse6qLuE/ZVVd57dfChd7U2akT\nLF++/XWxtWs1MlNERCQtNJVGjmXXdMVJ14cfelK2556+P3IkLF2aua6y0ucxiyk5ExERSQ/VnOVR\nnJzVrBnr2NFn/K95XUzJmYiISHooOcujupKzTp3g5pszSzfVPF9RoeRMREQkLZSc5VFdyVm7dtC+\nfWZi2ezzIcDKlXWvzSkiIiLJouQsD555xrfxCM2ayVncL61z5+3PL14Mq1drRQAREZG0UHKWB0cc\n4ZPR1lVzNnSob2tLzmbP9u0BB+S2jCIiIlIcNFozTzp3hmnTYMCA6tNmAEya5NsuXXybvcbmnDnQ\nujWMGpWfcoqIiEhhFaTmzMwuNbM3zewtM7ssOraTmT1hZgujbc9ClC1Xrr7at5deCps3w267+f69\n98J++/njumrO9t67+mS2IiIiklx5T87MbG/gW8CBwL7AiWY2DLgSmBFCGAbMiPYT47LLYP78zKjL\n8eNh//39K9azpzd/lpX5fgienKlJU0REJD0KUXO2F/BSCGF9CGEr8AxwCnAycGd0zZ3AxAKULee6\ndvXtkCHeZDl4cOZc69YwYgTMm+f7ixbBp5/CmDH5L6eIiIgURiGSszeBI8ysl5l1Ao4HBgJ9QgjL\nAKLtLgUoW87Fa2jWNTXGPvtkkjMNBhAREUkfCyHk/03NvglcAlQCbwMbgAtCCD2yrlkTQtiu35mZ\n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\nzuoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot adjusted close over time\n",
    "rcParams['figure.figsize'] = 10, 8 # width 10, height 8\n",
    "\n",
    "ax = train.plot(x='date', y='adj_close', style='b-', grid=True)\n",
    "ax = cv.plot(x='date', y='adj_close', style='y-', grid=True, ax=ax)\n",
    "ax = test.plot(x='date', y='adj_close', style='g-', grid=True, ax=ax)\n",
    "ax.legend(['train', 'dev', 'test'])\n",
    "ax.set_xlabel(\"date\")\n",
    "ax.set_ylabel(\"USD\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Train the model using XGBoost"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "XGBRegressor(base_score=0.5, booster='gbtree', colsample_bylevel=1,\n",
       "       colsample_bytree=1, gamma=0, learning_rate=0.1, max_delta_step=0,\n",
       "       max_depth=3, min_child_weight=1, missing=None, n_estimators=100,\n",
       "       n_jobs=1, nthread=None, objective='reg:linear', random_state=0,\n",
       "       reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=100,\n",
       "       silent=True, subsample=1)"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Create the model\n",
    "model = XGBRegressor(seed=model_seed,\n",
    "                      n_estimators=n_estimators,\n",
    "                      max_depth=max_depth,\n",
    "                      learning_rate=learning_rate,\n",
    "                      min_child_weight=min_child_weight)\n",
    "\n",
    "# Train the regressor\n",
    "model.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Predict on train set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.4218812527374346"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Do prediction on train set\n",
    "est = model.predict(X_train)\n",
    "\n",
    "# Calculate RMSE\n",
    "math.sqrt(mean_squared_error(y_train, est))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'USD')"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot adjusted close over time\n",
    "rcParams['figure.figsize'] = 10, 8 # width 10, height 8\n",
    "\n",
    "est_df = pd.DataFrame({'est': est, \n",
    "                       'date': train['date']})\n",
    "\n",
    "ax = train.plot(x='date', y='adj_close', style='b-', grid=True)\n",
    "ax = cv.plot(x='date', y='adj_close', style='y-', grid=True, ax=ax)\n",
    "ax = test.plot(x='date', y='adj_close', style='g-', grid=True, ax=ax)\n",
    "ax = est_df.plot(x='date', y='est', style='r-', grid=True, ax=ax)\n",
    "ax.legend(['train', 'dev', 'test', 'est'])\n",
    "ax.set_xlabel(\"date\")\n",
    "ax.set_ylabel(\"USD\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Predict on dev set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE = 10.320713612000851\n"
     ]
    }
   ],
   "source": [
    "# Do prediction on test set\n",
    "est = model.predict(X_cv)\n",
    "\n",
    "# Calculate RMSE\n",
    "print(\"RMSE = \" + str(math.sqrt(mean_squared_error(y_cv, est))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'USD')"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnMAAAHbCAYAAACgFxwQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xd8VFX6+PHPmcnMZCaNhDQSIKFD\n6EUwKsWGhVUsIFYEUdDVRVRWvy7uT7CuLiIW7Cuoi21V7GuBBRREOkgJIB1DQggkpGcyM/f3x81M\nZtIDKZPkeb9eeWXuveeee26C8vCcpjRNQwghhBBCNE+Gpm6AEEIIIYQ4fRLMCSGEEEI0YxLMCSGE\nEEI0YxLMCSGEEEI0YxLMCSGEEEI0YxLMCSGEEEI0YxLMCSGEEEI0YxLMCSGEEEI0YxLMCSGEEEI0\nYwFN3YDGFBkZqSUmJjZ1M3zk5+cTFBTU1M1oUPKOLYO8Y8sg79gyyDu2HNW958aNGzM1TYuqqY5W\nFcwlJiayYcOGpm6GjxUrVjBq1KimbkaDkndsGeQdWwZ5x5ZB3rHlqO49lVKHalOHdLMKIYQQQjRj\nEswJIYQQQjRjEswJIYQQQjRjEswJIYQQQjRjEswJIYQQQjRjrWo2a01ycnLIyMigpKSk0Z4ZFhZG\nSkpKoz2vKfjzO5pMJqKjowkNDW3qpgghhBCnRYK5Ujk5ORw7doz4+HisVitKqUZ5bm5uLiEhIY3y\nrKbir++oaRqFhYWkpqYCSEAnhBCiWZJu1lIZGRnEx8djs9kaLZATTUsphc1mIz4+noyMjKZujhBC\nCHFaJJgrVVJSgtVqbepmiCZgtVobtWtdCCGEqE8SzHmRjFzrJL93IYQQzZkEc0IIIYQQzZgEc8Jj\n1KhR3HPPPU3dDCGEEELUgcxmbeZGjRpFnz59ePnll8+4rs8++wyTyVQPrRJCCCFEY5FgrhUoKSmp\nVZAWERHRCK0RQgghRH2SbtZmbNKkSaxcuZIFCxaglEIpxaJFi1BK8e233zJ06FDMZjPff/89+/bt\nY+zYscTGxhIUFMSgQYP4+uuvfeor382amJjIE088wbRp0wgNDaV9+/b885//bOzXFEIIIUQ1GjWY\nU0qNUEp9qZRKVUppSqlJ5a4vKj3v/fVruTIWpdRLSqlMpVR+aX3tG/M9/MULL7xAcnIykydPJi0t\njbS0NDp06ADAQw89xBNPPMGuXbsYNmwYeXl5XHbZZfz4449s3bqVa6+9lmuuuYZdu3ZV+4znn3+e\nvn37smnTJh566CEefPBB1qxZ0xivJ4QQQlTpfwf+R/eXupOel97UTWlyjd3NGgxsB94t/arMUuAW\nr2N7uevzgbHADcAJYB7wtVJqsKZpzvpq6IwZsGVLfdVWNafTitGofx4wAObPr/29YWFhmM1mbDYb\nsbGxAJ7gbPbs2YwePdpTNioqiv79+3uOZ82axVdffcUnn3zCI488UuUzRo8e7cnW/eUvf+HFF19k\n2bJlJCcn176hQgghRD37dOen/H7ydx5f+TgLxixo6uY0qUbNzGma9q2maX/TNO0TwFVFsWJN09K9\nvk66LyilwoApwF81TftR07RN6IFfP+CiBn+BZmTIkCE+x/n5+Tz44IMkJSURHh5OcHAwGzZs4PDh\nw9XW069fP5/juLg42S1BCCFEk7Oa9IX+3/3tXbKLspu4NU3LHydAnKeUygCygZXALE3T3NHDYMAE\n/OAurGnaEaVUCnAO8H19NaIuGbIzkZtb2CD7lgYFBfkcz5w5k++++465c+fSrVs3bDYbEydOxG4v\nn/j0VX7ihFIKl6uqOFwIIYQ4My7NhaZpNZY7WajnevLsebyx8Q0ePPfBhm6a3/K3YO474DPgAJAI\nPAH8r7QLtRiIBZxAZrn7jpVeq0ApNRWYChATE8OKFSsqfXBYWBi5ubln/gZ15HQ6z+i5BoOBoqIi\nTx0FBQUA5OXlYbFYPOV++uknJkyY4Ol6LSoqYu/evXTq1Mlzr9PpxG63e441TaO4uNinfeXLNMY7\nNoaioqIq/2zURl5e3hnd3xzIO7YM8o4tQ0t+x9s23EaBo4C3+rxV7TvuObKHzkGdaWNqw9MrnyYx\nN5H9+ft5atdTxATG8OKAF7Ea/X+bzvr4XfpVMKdp2odeh9uUUhuBQ8AY9CCvKgqoNIzXNO0N4A2A\nIUOGaKNGjaq0gpSUlAbJkNUkNzf3jJ7btWtXNm7cyIkTJwgODiYwMBCA4OBgn3p79uzJt99+y3XX\nXYfJZGLOnDkUFxdjMpk85YxGI2az2XOslMJisfjUU75MY7xjYwgMDGTgwIGnff+KFSuo6s9WSyHv\n2DLIO7YMLfkdD6w8AOh/j1X2jnn2PILNwagDio4hHZl/yXwGvD6A2ftmk5KZAkBuXi4h3UI4r+N5\njdn001Ifv0u/XppE07SjwB9At9JT6YARiCxXNBo9O9fqzJw5E7PZTFJSElFRUVWOgZs3bx7R0dEM\nHz6cyy67jLPPPpvhw4c3cmuFEEKI2rG7Kg4D+njHx4Q8HcKqw6vYcHQDba1t6R+rT+5LyUzhvI7n\nMajdIADy7fmN2t6m5FeZufKUUpFAPJBWemojUAJcDLxfWqY90Av4pSna2NS6d+9eYamQSZMmVSiX\nkJDA0qVLfc7NnDnT57h8mvfgwYMV6mmpaX0hhBBNzzsAm7R+Ej8N+ImuEV095+b/qg9ov2XJLRQ5\nimgX3M7n/reueAun5qT3K73JKspqnEb7gcZeZy5YKTVAKTWg9NkdS487ll6bq5RKVkolKqVGAV8B\nGcASAE3TTgH/Av6plLpIKTUQeA/4DX1JEyGEEEI0U3tP7vV8TitKo++rffl6T9kC9+4A7WD2QQCe\nuvApAEYmjASge9vuhAeG62ULJZhrKEOAzaVfVmBO6efH0Cc29AW+APYA7wC7gWRN07xHz9+HPn7u\nI2A1kAdcUZ9rzAkhhBCi8T235jnMRjO779nNx2d/TKQtkrc3vw3ok/KOnDriKRtmCSPEoo/H/ubG\nb0h/IB2lFG0C2wC0quVKGrWbVdO0FeiTFapySS3qKAL+UvolhBBCiBZA0zSW7l/KuKRxdG/bnaOW\no5zd/mw2p20GILMgk/ySfK7scSVf7v6S+NB4z71B5iCCzPqSXFaTFYvRIt2sQgghhBCN6UD2AdLy\n0jivQ9kM1L7RfdmftZ98ez73fX8fADf1vQlrgJW4kLgq6wq3hreqbla/ngAhhBBCiNZh9eHVAD7L\nifSN7ouGxo7jO0jJTCEhLIFrel1Dak4q7UOr3pY9whrBicITDd5mfyHBnBBCCCGa3KrDqwizhNE7\nurfnXN+YvgBsTd9KyvEU7hxyJwGGAO5Lvq/auqKDojlecLxB2+tPpJtVCCGEEE1u9ZHVnNPhHAyq\nLDTpHN6ZEHMIz/7yLIWOQgbG1m5x9+igaDLyW88+4hLMCSGEEKJJ5RTnsOP4Ds7pcI7PeYMycG7H\nc9l7ci/nJ57PDX1vqFV90bbWFcxJN6sQQgghmlRqTiqgZ+LKuy7pOg6fOswH135AgKF2YUt0UDTZ\nRdnYnXbMRnO9ttUfSWaulRs1ahT33HNPlceV6dOnD7Nnz673ZwshhGidjuXrO3LGBsdWuDZ54GR2\n/HkHMcExta6vY1hHAK756BoOZR+qn0b6McnMCR+fffYZJpOpXutcvHgxM2fOJC8vr8GfJYQQonkp\ndhTz5M9PAhATVPuArTo39r2R/Vn7mbtmLo8sf4T3rn6vXur1VxLMCR8REREt8llCCCH800vrXmLp\nfn1Hzrpk36pjMpqYc/4cDp06xJe7v6yXOv2ZdLM2Y6+//joxMTE4HA6f8zfeeCNjx45l3759jB07\nltjYWIKCghg0aBBff/11FbXpynd9ZmRkMHbsWKxWKwkJCbz99tsV7pk3bx79+vUjKCiI+Ph4br/9\ndrKz9W1UVqxYwV133UV+fj5KKZRSni7a8s/Kysri1ltvJTw8HKvVykUXXcSOHTs81xctWkRwcDDL\nli2jT58+BAUFcf7553PgwIE6/+yEEEL4h83pmz2fI6z1+4/8xDaJZBVloWlavdbrbySYa8auu+46\nsrOzWbp0qedcfn4+X3zxBTfffDN5eXlcdtll/Pjjj2zdupVrr72Wa665hl27dtX6GZMmTWLv3r0s\nXbqUzz//nHfffZeDBw/6lDEYDMyfP58dO3bw/vvvs27dOv7yF323tXPOOYd//OMf2Gw20tLSSEtL\nY+bMmVU+a+3atXzxxResW7cOm83GpZdeSmFhoadMcXExTz/9NG+//TZr1qwhOzubO++8sw4/NSGE\nEP5kz4k9RAdF89qY13yWJakPJoM+lMfhctRQsnmTbtYq/P77DPLytjT4c5xOJ0ajEYDg4AF06za/\n1veGh4dz+eWXs3jxYi699FIAlixZQkBAAFdccQWBgYH079/fU37WrFl89dVXfPLJJzzyyCM11r9n\nzx7++9//smrVKs4991wA3nnnHTp39p1tNGPGDM/nxMREnn32WcaOHcs777yD2WwmLCwMpRSxsRUH\ntrr9/vvvfPnll6xcuZIRI0YA8N5779GxY0cWL17M7bffDoDD4WDBggX06NEDgJkzZzJ58mRcLhcG\ng/zbRAgh/FGJs4SL3ruIGcNmcHWvqz3nd2TsYHvGdqYOmsq0IdPq/bnu2a8OlwOTseWO0Za//Zq5\nm2++mc8//5yCggJAn2wwbtw4AgMDyc/P58EHHyQpKYnw8HCCg4PZsGEDhw8frlXdKSkpGAwGhg4d\n6jmXkJBAXJzvfnj/+9//uPjii2nfvj0hISFcc8012O120tPTa/0e7mclJyd7zoWFhdG3b1927tzp\n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\nQmCC\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot adjusted close over time\n",
    "rcParams['figure.figsize'] = 10, 8 # width 10, height 8\n",
    "matplotlib.rcParams.update({'font.size': 14})\n",
    "\n",
    "est_df = pd.DataFrame({'est': est, \n",
    "                       'y_cv': y_cv,\n",
    "                       'date': cv['date']})\n",
    "\n",
    "ax = train.plot(x='date', y='adj_close', style='b-', grid=True)\n",
    "ax = cv.plot(x='date', y='adj_close', style='y-', grid=True, ax=ax)\n",
    "ax = test.plot(x='date', y='adj_close', style='g-', grid=True, ax=ax)\n",
    "ax = est_df.plot(x='date', y='est', style='r-', grid=True, ax=ax)\n",
    "ax.legend(['train', 'validation', 'test', 'predictions'])\n",
    "ax.set_xlabel(\"date\")\n",
    "ax.set_ylabel(\"USD\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Findings\n",
    "* Doesn't work well\n",
    "* Likely because the model was trained on prices below 125 and so when it saw prices above 125 for the dev set, it could not generalize well.\n",
    "* Should try to normalize the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
